package com.quick.develop.flowable.domain.vo.task;

import com.quick.develop.flowable.domain.BpmBaseDO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.List;
import java.util.Map;

@EqualsAndHashCode(callSuper = true)
@ApiModel("流程管理后台 - 流程任务处理的 Request VO")
@Data
@AllArgsConstructor
@NoArgsConstructor
public class BpmTaskReqVO extends BpmBaseDO implements Serializable {

    private static final long serialVersionUID = 5625877249180030910L;

    @ApiModelProperty(value = "处理类型")
    private String executeCmd;
    
    @ApiModelProperty(value = "审批意见",  example = "不错不错！")
    private String comment;

    @ApiModelProperty(value = "流程发起人", notes = "如果流程启动人需要指定，则赋值")
    private String processStartUserId;

    @ApiModelProperty(value = "会签点审批结果", notes = "Y代表同意，N代表不同意，只有会签点才有这个结论")
    private String multiResult;
    
    @ApiModelProperty("用户Id")
    private String userId;

    @ApiModelProperty("用户名称")
    private String userName;

    @ApiModelProperty("节点")
    private String targetKey;

    @ApiModelProperty("流程变量信息")
    private Map<String, Object> processVariables;

    @ApiModelProperty("局部变量信息")
    private Map<String, Object> taskLocalVariables;

    @ApiModelProperty("审批人")
    private String assignee;

    @ApiModelProperty(value = "审批人组",notes = "多个审批人，会签用")
    private List<String> assigneeList;

    @ApiModelProperty("候选人")
    private String candidateUser;

    @ApiModelProperty("候选人多个")
    private List<String> candidateUserList;

    @ApiModelProperty("候选组")
    private String candidateGroup;

    @ApiModelProperty("候选组多个")
    private List<String> candidateGroupList;

}
